Extracting Verification Models from Source Code

نویسندگان

  • GERARD J. HOLZMANN
  • MARGARET H. SMITH
چکیده

To formally verify a large software application, the standard method is to invest a considerable amount of time and expertise into the manual construction of an abstract model, which is then analyzed for its properties by either a mechanized or by a human prover. There are two main problems with this approach. The first problem is that this verification method can be no more reliable than the humans that perform the manual steps. If rate of error for human work is a function of problem size, this holds not only for the construction of the original application, but also for the construction of the model. This means that the verification process tends to become unreliable for larger applications. The second problem is one of timing and relevance. Software applications built by teams of programmers can change rapidly, often daily. Manually constructing a faithful abstraction of any one version of the application, though, can take weeks or months. The results of a verification, then, can quickly become irrelevant to an ongoing design effort. In this paper we sketch a verification method that aims to avoid these problems. This method, based on automated model extraction, was first applied in the verification of the call processing software for a new Lucent Technologies’ system called PathStar. (Invited paper to the FORTE/PSTV Conference, October 1999, Beijing, China.)

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Initial Experiment in Reverse Engineering Aspects from Existing Applications

In this paper, we evaluate the benefits of applying aspectoriented software development techniques in the context of a large-scale industrial embedded software system implementing a number of crosscutting concerns. Additionally, we assess the feasibility of automatically extracting these crosscutting concerns from the source code. In order to achieve this, we present an approach for reverse eng...

متن کامل

Extracting User-Level Functions from Object-Oriented Code

Several software (re)engineering, comprehension and verification tasks rely on the ability to extract the source code that is relevant to a user-level function. In an objectoriented system this code can be distributed across multiple classes, which makes it very difficult to trace. We have developed a tool-supported approach that addresses this issue. Given a set of landmark methods that must b...

متن کامل

From software architecture to formal verification of a distributed system

This thesis studies how to go from the software architecture to the formal verification of a distributed system. As the motivation and target of our research, we use the VoDKA system, a distributed VoD server developed by the LFCIA-MADS research group using the Erlang/OTP platform. The software architecture of VoDKA is very flexible and complex, and better tools are needed in order to increase ...

متن کامل

Verified Cryptographic Implementations for TLS1

We intend to narrow the gap between concrete implementations of cryptographic protocols and their verified models. We develop and verify a small functional implementation of the Transport Layer Security protocol (TLS 1.0). We make use of the same executable code for interoperability testing against mainstream implementations, for automated symbolic cryptographic verification, and for automated ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999